/************************************************************************

								Heroes IV
					  Copyright 2001, The 3DO Company

	------------------------------------------------------------------
  						 combat_ai_ranged_area_action.h

	$Header: $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_AI_RANGED_AREA_ACTION_H_INCLUDED )
#define COMBAT_AI_RANGED_AREA_ACTION_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "abstract_combat_ai_action.h"
#include "area_effect_point_ptr.h"
#include "combat_creature_list.h"
#include "map_point.h"

// A representation of the "fire a ranged weapon" action
// For area-effect weapons (e.g. cyclopes)
class t_combat_ai_ranged_area_action : public t_abstract_combat_ai_action
{
	public:
		t_combat_ai_ranged_area_action( t_battlefield&	battlefield,
										const t_area_effect_point_ptr & point,
									    bool							never_use = false, 
									    double						   weight = std::numeric_limits<double>::quiet_NaN());


		virtual void weigh_action(t_combat_ai const& owner);
		virtual void perform_action(void);

	private:
		t_area_effect_point_ptr m_point;
};

inline 
t_combat_ai_ranged_area_action::t_combat_ai_ranged_area_action( t_battlefield& battlefield,
															    const t_area_effect_point_ptr& point,
																bool never_use, 
																double weight)
	: t_abstract_combat_ai_action(battlefield, never_use, weight), m_point(point)
{

}

#endif // COMBAT_AI_RANGED_AREA_ACTION_H_INCLUDED
